package com.ssy.lingxi.platform.manage.service;


import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.manage.api.model.dto.sensitive.*;
import com.ssy.lingxi.platform.manage.api.model.vo.sensitive.SensitiveWordFilterVO;
import com.ssy.lingxi.platform.manage.api.model.vo.sensitive.SensitiveWordListFilterVO;
import com.ssy.lingxi.platform.manage.entity.base.SensitiveWord;

/**
 * @menu 敏感词 - 业务处理层
 * @author yzc
 * @version 2.0.0
 * @date 2020/10/27
 */
public interface ISensitiveWordService {

    /**
     * 平台后台-系统管理-敏感词管理-分页列表
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<PageData<SensitiveWord>> pageSensitiveWord(SensitiveWordPageDTO request);

    /**
     * 平台后台-系统管理-敏感词管理-添加
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<Void>  addSensitiveWord(SensitiveWordDTO request);

    /**
     * 平台后台-系统管理-敏感词管理-修改
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<Void>  updateSensitiveWord(SensitiveWordDTO request);

    /**
     * 平台后台-系统管理-敏感词管理-删除
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<Void>  deleteSensitiveWord(SensitiveWordDeleteByIdDTO request);

    /**
     * 平台后台-系统管理-敏感词管理-批量删除
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<Void>  deleteSensitiveWordByBatchNo(SensitiveWordDeleteByBatchNoDTO request);

    /**
     * 内部接口-敏感词过滤
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<SensitiveWordFilterVO> filterSensitiveWord(SensitiveWordFilterDTO request);

    /**
     * 内部接口-敏感词过滤(多个)
     * @param request 接口参数
     * @return 返回结果
     */
    Wrapper<SensitiveWordListFilterVO> filterSensitiveWordList(SensitiveWordListFilterDTO request);

    /**
     * 初始化敏感词
     */
    void initSensitiveWord();
}

